MATLAB颜色修改与渲染 | 您所在的位置:网站首页 › matlab三维图形的绘制 更改颜色 › MATLAB颜色修改与渲染 |
colormap
colormap用于修改色轴,即修改图形的颜色。对于三维图形来说,MATLAB会自动检测图形的最大值和最小值,按照大小映射色谱的颜色。 colormap name其中name是MATLAB中自带的色轴名称。如colormap spring;即将颜色风格改为“spring”;如果想要还原默认风格,语句是colormap default 注意改变色轴会使整个图窗所有的坐标区颜色发生变化。下图是MATLAB自带色轴图: cmap即自定义的色轴矩阵。矩阵是n行3列的矩阵,每一行的三个数是RGB表示的颜色,n行就组成了n个色条。但是name要括在括号里。括号里的cmap也可以是上述的自带色轴名字。 colormap(target,name)修改指定坐标区的色轴。target是坐标轴的句柄。用这个语句可以指定某个坐标区的色轴,不会影响其他坐标区。 cmap=colormap(target)返回target中的色轴矩阵,省略target即返回当前坐标区的色轴矩。 以下给出实例: [x,y,z]=peaks(30); subplot(2,3,1); surf(x,y,z); colormap(gca,spring); title('spring'); subplot(2,3,2); surf(x,y,z); colormap(gca,summer) title('summer'); subplot(2,3,3); surf(x,y,z); colormap(gca,autumn); title('autumn'); subplot(2,3,4); surf(x,y,z); colormap(gca,winter) title('winter'); subplot(2,3,5); surf(x,y,z); colormap(gca,jet); title('jet'); subplot(2,3,6); cmap=[1 0 0;0.5 0 0;0 1 1;0 1 0;0 0.5 0;0 0 1;0.8 0 0.8]; surf(x,y,z); colormap(gca,cmap); title('cmap');brighten用于调整色轴的明度。 brighten(beta)beta大于-1小于1,正数表示增强明度,负数表示减弱明度。 newmap=brighten(beta)返回改变明度的色轴矩阵到newmap,并不改变本来的色轴矩阵。 newmap=brighten(cmap,beta)改变cmap的明度,将矩阵返回到newmap中。 surf(x,y,z);caxis([min,max])设置为小于cmin和大于cmax的部分映射为色轴的两端,之间的映射在色轴上。auto为设置为自动模式,即自动检测函数最大值和最小值,将整个曲面颜色映射到色轴上。 colorbar显示色轴,colorbar(‘vert’)为垂直色轴,默认形式,与colorbar用途相同。colorbar(‘horiz’)为水平色轴。 figure subplot(1,2,1); surf(x,y,z); colorbar; title('vert'); subplot(1,2,2); surf(x,y,z); colorbar('horiz'); title('horiz');FaceAlpha为曲面的透明度,在0~1之间,0为完全透明,1为完全不透明。可以在surf函数的参数列表里设置,也可以用h.FaceAlpha设置。EdgeAlpha为网格线的透明度,设置方法相同。 FaceColor与EdgeColorFaceColor为曲面颜色,也可以用两种方法调用。none为无颜色。EdgeColor为网格线的颜色。 shadingshading有三种方式,分别为shading flat;shading faceted(默认);face interp 设置方式为直接输入shading flat即可。由例子给出样式的样子。 figure subplot(2,3,1); surf(x,y,z,'FaceAlpha','0.5'); title('FaceAlpha=0.5'); subplot(2,3,2); surf(x,y,z,'EdgeColor','b'); title('EdgeColor=b'); subplot(2,3,3) surf(x,y,z,'EdgeColor','none'); title('EdgeColor=none'); subplot(2,3,4); surf(x,y,z); shading faceted title('faceted'); subplot(2,3,5); surf(x,y,z); shading flat title('flat'); subplot(2,3,6); surf(x,y,z); shading interp title('interp');
|
CopyRight 2018-2019 实验室设备网 版权所有 |